package com.ruoyi.system.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 员工基本信息对象 employee_basic_info
 * 
 * @author ruoyi
 * @date 2025-05-22
 */
public class EmployeeBasicInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 员工唯一标识(使用身份证号) */
    private String employeeId;

    /** 姓名 */
    @Excel(name = "姓名")
    private String name;

    /** 出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthDate;

    /** 政治面貌 */
    @Excel(name = "政治面貌")
    private Integer politicalStatus;

    /** 身份证号 */
    @Excel(name = "身份证号")
    private String idCard;

    /** 联系方式(手机号) */
    @Excel(name = "联系方式(手机号)")
    private String contactInfo;

    /** 人员照片存储路径 */
    @Excel(name = "人员照片存储路径")
    private String photoPath;

    /** 员工状态ID */
    @Excel(name = "员工状态ID")
    private Integer status;

    /** 所属公司ID */
    @Excel(name = "所属公司ID")
    private String companyId;

    /** 集团及子公司信息信息 */
    private List<GroupCompany> groupCompanyList;

    public void setEmployeeId(String employeeId) 
    {
        this.employeeId = employeeId;
    }

    public String getEmployeeId() 
    {
        return employeeId;
    }

    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }

    public void setBirthDate(Date birthDate) 
    {
        this.birthDate = birthDate;
    }

    public Date getBirthDate() 
    {
        return birthDate;
    }

    public void setPoliticalStatus(Integer politicalStatus) 
    {
        this.politicalStatus = politicalStatus;
    }

    public Integer getPoliticalStatus() 
    {
        return politicalStatus;
    }

    public void setIdCard(String idCard) 
    {
        this.idCard = idCard;
    }

    public String getIdCard() 
    {
        return idCard;
    }

    public void setContactInfo(String contactInfo) 
    {
        this.contactInfo = contactInfo;
    }

    public String getContactInfo() 
    {
        return contactInfo;
    }

    public void setPhotoPath(String photoPath) 
    {
        this.photoPath = photoPath;
    }

    public String getPhotoPath() 
    {
        return photoPath;
    }

    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }

    public void setCompanyId(String companyId) 
    {
        this.companyId = companyId;
    }

    public String getCompanyId() 
    {
        return companyId;
    }

    public List<GroupCompany> getGroupCompanyList()
    {
        return groupCompanyList;
    }

    public void setGroupCompanyList(List<GroupCompany> groupCompanyList)
    {
        this.groupCompanyList = groupCompanyList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("employeeId", getEmployeeId())
            .append("name", getName())
            .append("birthDate", getBirthDate())
            .append("politicalStatus", getPoliticalStatus())
            .append("idCard", getIdCard())
            .append("contactInfo", getContactInfo())
            .append("photoPath", getPhotoPath())
            .append("status", getStatus())
            .append("companyId", getCompanyId())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("groupCompanyList", getGroupCompanyList())
            .toString();
    }
}
